From c3333c3a5d1224513f801aed11953234851bbf96 Mon Sep 17 00:00:00 2001 From: Anthony PERARD Date: Wed, 11 Dec 2019 13:55:06 +0000 Subject: [PATCH] xen: Move CONFIG_INDIRECT_THUNK to Kconfig Now that Kconfig has the capability to run shell command when generating CONFIG_* we can use it in some cases to test CFLAGS. CONFIG_INDIRECT_THUNK is a good example that wants to exist both in Makefile and as a C macro, which Kconfig do. So use Kconfig to generate CONFIG_INDIRECT_THUNK and have the CFLAGS depends on that. Signed-off-by: Anthony PERARD Acked-by: Andrew Cooper --- xen/arch/x86/Kconfig | 3 +++ xen/arch/x86/Rules.mk | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index f853c04564..8149362bde 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -31,6 +31,9 @@ config ARCH_DEFCONFIG string default "arch/x86/configs/x86_64_defconfig" +config INDIRECT_THUNK + def_bool $(cc-option,-mindirect-branch-register) + menu "Architecture Features" source "arch/Kconfig" diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk index 92fdbe9d68..a2c257fb95 100644 --- a/xen/arch/x86/Rules.mk +++ b/xen/arch/x86/Rules.mk @@ -71,11 +71,9 @@ CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE endif # Compile with thunk-extern, indirect-branch-register if avaiable. -ifneq ($(call cc-option,$(CC),-mindirect-branch-register,n),n) +ifeq ($(CONFIG_INDIRECT_THUNK),y) CFLAGS += -mindirect-branch=thunk-extern -mindirect-branch-register -CFLAGS += -DCONFIG_INDIRECT_THUNK CFLAGS += -fno-jump-tables -export CONFIG_INDIRECT_THUNK=y endif # If supported by the compiler, reduce stack alignment to 8 bytes. But allow -- 2.30.2